Conventional proximity detection, e.g. touch and rain sensors typically rely on a moving average to represent slowly varying environmental background conditions against which valid signals can be detected above a selected threshold. A problem with sensors such as proximity detectors is that once a spurious touch indication has occurred the system blocks out further valid touches until that spurious touch indication ends so subsequent touches are not detected, i.e. locked out. One solution to this has been to simply time-out the system. That is, if a touch is detected for more than a predetermined period of time, a timer resets the system to the new level. Thus this approach ignores, finally, the present touch and will not recognize another touch occurring before the timer resets to the new level. Another problem with maintaining the proper background average in conventional approaches is that, if the background average increases above the present level or decreases below it and stays there, the system is designed to simply reset after a period of time which is the same whether the average has increased or decreased. This obscures the difference between physical realities that cause those shifts in average. For example, an increase in background average may indicate that something is touching the sensor as a new background condition and the system should incorporate that increase only if it persists long enough. Conversely, if the background average level decreases the system will fail to detect a touch even if it is well over the threshold relative to the new lower level because the system is still abiding by the established higher background average level.